﻿// MT568




using Little.Soldier.SWIFT;
using Little.Soldier.SWIFT.Definition;
using System.Collections.Generic;
using System.ComponentModel;

namespace Little.Soldier.SWIFT.Messages.Category5
{
  public class MT568 : SwiftMessage
  {
    private static SwiftMessageDefinition MessageDefinition;
    private static SwiftTagSequenceDefinition U0002;
    private static SwiftTagDefinition U0003;
    private static SwiftTagSubItemDefinition U0004;
    private static SwiftTagDefinition U0005;
    private static SwiftTagSubItemDefinition U0006;
    private static SwiftTagSubItemDefinition U0007;
    private static SwiftTagDefinition U0008;
    private static SwiftTagSubItemDefinition U000E;
    private static SwiftTagSubItemDefinition U000F;
    private static SwiftTagSubItemDefinition U0010;
    private static SwiftTagDefinition U0011;
    private static SwiftTagSubItemDefinition U0012;
    private static SwiftTagSubItemDefinition U0013;
    private static SwiftTagSubItemDefinition U0014;
    private static SwiftTagChoiceDefinition U0015;
    private static SwiftTagDefinition U0016;
    private static SwiftTagSubItemDefinition U0017;
    private static SwiftTagSubItemDefinition U0018;
    private static SwiftTagDefinition U0019;
    private static SwiftTagSubItemDefinition U001A;
    private static SwiftTagSubItemDefinition U001B;
    private static SwiftTagSubItemDefinition U001C;
    private static SwiftTagSubItemDefinition U001D;
    private static SwiftTagSequenceDefinition U001E;
    private static SwiftTagDefinition U001F;
    private static SwiftTagSubItemDefinition U007F;
    private static SwiftTagDefinition U0080;
    private static SwiftTagSubItemDefinition U0081;
    private static SwiftTagSubItemDefinition U0082;
    private static SwiftTagSubItemDefinition U0083;
    private static SwiftTagChoiceDefinition U0084;
    private static SwiftTagDefinition U0086;
    private static SwiftTagSubItemDefinition U0087;
    private static SwiftTagSubItemDefinition U0088;
    private static SwiftTagDefinition U0089;
    private static SwiftTagSubItemDefinition U008A;
    private static SwiftTagSubItemDefinition U008B;
    private static SwiftTagSubItemDefinition U008C;
    private static SwiftTagDefinition U008D;
    private static SwiftTagSubItemDefinition U008E;
    private static SwiftTagSubItemDefinition U008F;
    private static SwiftTagDefinition U0090;
    private static SwiftTagSubItemDefinition U0091;
    private static SwiftTagDefinition U0092;
    private static SwiftTagSubItemDefinition U0093;
    private static SwiftTagSequenceDefinition U0094;
    private static SwiftTagDefinition U0095;
    private static SwiftTagSubItemDefinition U0096;
    private static SwiftTagChoiceDefinition U0097;
    private static SwiftTagDefinition U0098;
    private static SwiftTagSubItemDefinition U0099;
    private static SwiftTagSubItemDefinition U009A;
    private static SwiftTagDefinition U009B;
    private static SwiftTagSubItemDefinition U009C;
    private static SwiftTagSubItemDefinition U009D;
    private static SwiftTagSubItemDefinition U009E;
    private static SwiftTagChoiceDefinition U009F;
    private static SwiftTagDefinition U0001U0002;
    private static SwiftTagSubItemDefinition U0002U0002;
    private static SwiftTagSubItemDefinition U0003U0002;
    private static SwiftTagDefinition U0004U0002;
    private static SwiftTagSubItemDefinition U0005U0002;
    private static SwiftTagSubItemDefinition U0006U0002;
    private static SwiftTagChoiceDefinition U0007U0002;
    private static SwiftTagDefinition U0008U0002;
    private static SwiftTagSubItemDefinition U000EU0002;
    private static SwiftTagSubItemDefinition U000FU0002;
    private static SwiftTagSubItemDefinition U0010U0002;
    private static SwiftTagSubItemDefinition U0011U0002;
    private static SwiftTagSubItemDefinition U0012U0002;
    private static SwiftTagDefinition U0013U0002;
    private static SwiftTagSubItemDefinition U0014U0002;
    private static SwiftTagSubItemDefinition U0015U0002;
    private static SwiftTagDefinition U0016U0002;
    private static SwiftTagSubItemDefinition U0017U0002;
    private static SwiftTagSubItemDefinition U0018U0002;
    private static SwiftTagSubItemDefinition U0019U0002;
    private static SwiftTagSubItemDefinition U001AU0002;
    private static SwiftTagDefinition U001BU0002;
    private static SwiftTagSubItemDefinition U001CU0002;
    private static SwiftTagSubItemDefinition U001DU0002;
    private static SwiftTagSubItemDefinition U001EU0002;
    private static SwiftTagSequenceDefinition U001FU0002;
    private static SwiftTagDefinition U007FU0002;
    private static SwiftTagSubItemDefinition U0080U0002;
    private static SwiftTagDefinition U0081U0002;
    private static SwiftTagSubItemDefinition U0082U0002;
    private static SwiftTagSubItemDefinition U0083U0002;
    private static SwiftTagSubItemDefinition U0084U0002;
    private static SwiftTagSubItemDefinition U0086U0002;
    private static SwiftTagSubItemDefinition U0087U0002;
    private static SwiftTagDefinition U0088U0002;
    private static SwiftTagSubItemDefinition U0089U0002;
    private static SwiftTagSubItemDefinition U008AU0002;
    private static SwiftTagSubItemDefinition U008BU0002;
    private static SwiftTagChoiceDefinition U008CU0002;
    private static SwiftTagDefinition U008DU0002;
    private static SwiftTagSubItemDefinition U008EU0002;
    private static SwiftTagSubItemDefinition U008FU0002;
    private static SwiftTagSubItemDefinition U0090U0002;
    private static SwiftTagDefinition U0091U0002;
    private static SwiftTagSubItemDefinition U0092U0002;
    private static SwiftTagSubItemDefinition U0093U0002;
    private static SwiftTagDefinition U0094U0002;
    private static SwiftTagSubItemDefinition U0095U0002;
    private static SwiftTagSubItemDefinition U0096U0002;
    private static SwiftTagDefinition U0097U0002;
    private static SwiftTagSubItemDefinition U0098U0002;
    private static SwiftTagSubItemDefinition U0099U0002;
    private static SwiftTagDefinition U009AU0002;
    private static SwiftTagSubItemDefinition U009BU0002;
    private static SwiftTagSubItemDefinition U009CU0002;
    private static SwiftTagDefinition U009DU0002;
    private static SwiftTagSubItemDefinition U009EU0002;
    private static SwiftTagSubItemDefinition U009FU0002;
    private static SwiftTagSubItemDefinition U0001U0003;
    private static SwiftTagSubItemDefinition U0002U0003;
    private static SwiftTagDefinition U0003U0003;
    private static SwiftTagSubItemDefinition U0004U0003;
    private static SwiftTagChoiceDefinition U0005U0003;
    private static SwiftTagDefinition U0006U0003;
    private static SwiftTagSubItemDefinition U0007U0003;
    private static SwiftTagSubItemDefinition U0008U0003;
    private static SwiftTagSubItemDefinition U000EU0003;
    private static SwiftTagSubItemDefinition U000FU0003;
    private static SwiftTagDefinition U0010U0003;
    private static SwiftTagSubItemDefinition U0011U0003;
    private static SwiftTagSubItemDefinition U0012U0003;
    private static SwiftTagSubItemDefinition U0013U0003;
    private static SwiftTagSubItemDefinition U0014U0003;
    private static SwiftTagSubItemDefinition U0015U0003;
    private static SwiftTagDefinition U0016U0003;
    private static SwiftTagSubItemDefinition U0017U0003;
    private static SwiftTagSequenceDefinition U0018U0003;
    private static SwiftTagDefinition U0019U0003;
    private static SwiftTagSubItemDefinition U001AU0003;
    private static SwiftTagChoiceDefinition U001BU0003;
    private static SwiftTagDefinition U001CU0003;
    private static SwiftTagSubItemDefinition U001DU0003;
    private static SwiftTagSubItemDefinition U001EU0003;
    private static SwiftTagDefinition U001FU0003;
    private static SwiftTagSubItemDefinition U007FU0003;
    private static SwiftTagSubItemDefinition U0080U0003;
    private static SwiftTagSubItemDefinition U0081U0003;
    private static SwiftTagSubItemDefinition U0082U0003;
    private static SwiftTagChoiceDefinition U0083U0003;
    private static SwiftTagDefinition U0084U0003;
    private static SwiftTagSubItemDefinition U0086U0003;
    private static SwiftTagSubItemDefinition U0087U0003;
    private static SwiftTagDefinition U0088U0003;
    private static SwiftTagSubItemDefinition U0089U0003;
    private static SwiftTagSubItemDefinition U008AU0003;
    private static SwiftTagSubItemDefinition U008BU0003;
    private static SwiftTagDefinition U008CU0003;
    private static SwiftTagSubItemDefinition U008DU0003;
    private static SwiftTagSubItemDefinition U008EU0003;
    private static SwiftTagDefinition U008FU0003;
    private static SwiftTagSubItemDefinition U0090U0003;

    [Description("General Information")]
    public MT568.SequenceAClass SequenceA
    {
      get
      {
        return new MT568.SequenceAClass((SwiftElement) this, 0, false);
      }
    }

    [Description("Underlying Securities")]
    public MT568.SequenceBClass SequenceB
    {
      get
      {
        MT568.SequenceBClass sequenceBclass = new MT568.SequenceBClass((SwiftElement) this, 0, false);
        if (this.ListTags((SwiftElement) sequenceBclass).Count > 0)
          return sequenceBclass;
        else
          return (MT568.SequenceBClass) null;
      }
    }

    [Description("Additional Information")]
    public MT568.SequenceCClass SequenceC
    {
      get
      {
        return new MT568.SequenceCClass((SwiftElement) this, 0, false);
      }
    }

    public MT568()
      : base(true)
    {
    }

    public MT568(SwiftMessage message)
      : base(message)
    {
    }

    public MT568.SequenceBClass AddSequenceB()
    {
      return this.SequenceB ?? new MT568.SequenceBClass((SwiftElement) this, 0, true);
    }

    public void RemoveSequenceB(MT568.SequenceBClass sequence)
    {
      foreach (SwiftTag tag in this.ListTags((SwiftElement) sequence))
        this.RemoveTag(tag);
    }

    internal override SwiftMessageDefinition MsgDefinition()
    {
      return MT568.MessageDefinition;
    }

    protected override void InitSwiftMessageDefinition()
    {
      MT568.MessageDefinition = new SwiftMessageDefinition("MT568", "Corporate Action Narrative");
      MT568.U0002 = new SwiftTagSequenceDefinition("SequenceA", "General Information");
      MT568.U0003 = new SwiftTagDefinition("StartOfBlock_A_16R", "Start Of Block");
      MT568.U0003.TagName = ":16R:GENL";
      MT568.U0004 = new SwiftTagSubItemDefinition("StartOfBlock", "Start of Block");
      MT568.U0004.Mandatory = false;
      MT568.U0003.Elements.Add((SwiftDefinitionElement) MT568.U0004);
      MT568.U0002.Elements.Add((SwiftDefinitionElement) MT568.U0003);
      MT568.U0005 = new SwiftTagDefinition("Reference_A_20C", "Reference");
      MT568.U0005.TagName = ":20C::";
      MT568.U0005.Multiple = true;
      MT568.U0006 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT568.U0005.Elements.Add((SwiftDefinitionElement) MT568.U0006);
      MT568.U0007 = new SwiftTagSubItemDefinition("Reference", "Reference");
      MT568.U0005.Elements.Add((SwiftDefinitionElement) MT568.U0007);
      MT568.U0002.Elements.Add((SwiftDefinitionElement) MT568.U0005);
      MT568.U0008 = new SwiftTagDefinition("FunctionOfTheMessage_A_23G", "Function of the Message");
      MT568.U0008.TagName = ":23G:";
      MT568.U000E = new SwiftTagSubItemDefinition("Function", "Function");
      MT568.U0008.Elements.Add((SwiftDefinitionElement) MT568.U000E);
      MT568.U000F = new SwiftTagSubItemDefinition("Subfunction", "SubFunction");
      MT568.U000F.Mandatory = false;
      MT568.U0010 = new SwiftTagSubItemDefinition("Subfunction_1", "Subfunction");
      MT568.U000F.Elements.Add((SwiftDefinitionElement) MT568.U0010);
      MT568.U0008.Elements.Add((SwiftDefinitionElement) MT568.U000F);
      MT568.U0002.Elements.Add((SwiftDefinitionElement) MT568.U0008);
      MT568.U0011 = new SwiftTagDefinition("Indicator_A_22F", "Corporate Action Event Indicator");
      MT568.U0011.TagName = ":22F::";
      MT568.U0012 = new SwiftTagSubItemDefinition("Qualifier", "");
      MT568.U0011.Elements.Add((SwiftDefinitionElement) MT568.U0012);
      MT568.U0013 = new SwiftTagSubItemDefinition("DataSource", "Data Source Scheme");
      MT568.U0011.Elements.Add((SwiftDefinitionElement) MT568.U0013);
      MT568.U0014 = new SwiftTagSubItemDefinition("Indicator", "Indicator");
      MT568.U0011.Elements.Add((SwiftDefinitionElement) MT568.U0014);
      MT568.U0002.Elements.Add((SwiftDefinitionElement) MT568.U0011);
      MT568.U0015 = new SwiftTagChoiceDefinition("Choice", "");
      MT568.U0015.Mandatory = false;
      MT568.U0015.Multiple = true;
      MT568.U0016 = new SwiftTagDefinition("Date_A_98A", "Preparation Date");
      MT568.U0016.TagName = ":98A::";
      MT568.U0017 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT568.U0016.Elements.Add((SwiftDefinitionElement) MT568.U0017);
      MT568.U0018 = new SwiftTagSubItemDefinition("Date", "Date");
      MT568.U0016.Elements.Add((SwiftDefinitionElement) MT568.U0018);
      MT568.U0015.Elements.Add((SwiftDefinitionElement) MT568.U0016);
      MT568.U0019 = new SwiftTagDefinition("DateTime_A_98C", "Preparation Date/Time");
      MT568.U0019.TagName = ":98C::";
      MT568.U001A = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT568.U0019.Elements.Add((SwiftDefinitionElement) MT568.U001A);
      MT568.U001B = new SwiftTagSubItemDefinition("DateTime", "Date and Time");
      MT568.U001C = new SwiftTagSubItemDefinition("Date", "Date");
      MT568.U001B.Elements.Add((SwiftDefinitionElement) MT568.U001C);
      MT568.U001D = new SwiftTagSubItemDefinition("Time", "Time");
      MT568.U001B.Elements.Add((SwiftDefinitionElement) MT568.U001D);
      MT568.U0019.Elements.Add((SwiftDefinitionElement) MT568.U001B);
      MT568.U0015.Elements.Add((SwiftDefinitionElement) MT568.U0019);
      MT568.U0002.Elements.Add((SwiftDefinitionElement) MT568.U0015);
      MT568.U001E = new SwiftTagSequenceDefinition("SequenceA1", "Linkages");
      MT568.U001E.Mandatory = false;
      MT568.U001E.Multiple = true;
      MT568.U001F = new SwiftTagDefinition("StartOfBlock_A1_16R", "Start Of Block");
      MT568.U001F.TagName = ":16R:LINK";
      MT568.U007F = new SwiftTagSubItemDefinition("StartOfBlock", "Start of Block");
      MT568.U007F.Mandatory = false;
      MT568.U001F.Elements.Add((SwiftDefinitionElement) MT568.U007F);
      MT568.U001E.Elements.Add((SwiftDefinitionElement) MT568.U001F);
      MT568.U0080 = new SwiftTagDefinition("Indicator_A1_22F", "Linkage Type Indicator");
      MT568.U0080.TagName = ":22F::";
      MT568.U0080.Mandatory = false;
      MT568.U0081 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT568.U0080.Elements.Add((SwiftDefinitionElement) MT568.U0081);
      MT568.U0082 = new SwiftTagSubItemDefinition("DataSource", "Data Source Scheme");
      MT568.U0080.Elements.Add((SwiftDefinitionElement) MT568.U0082);
      MT568.U0083 = new SwiftTagSubItemDefinition("Indicator", "Indicator");
      MT568.U0080.Elements.Add((SwiftDefinitionElement) MT568.U0083);
      MT568.U001E.Elements.Add((SwiftDefinitionElement) MT568.U0080);
      MT568.U0084 = new SwiftTagChoiceDefinition("Choice", "");
      MT568.U0084.Mandatory = false;
      MT568.U0084.Multiple = true;
      MT568.U0086 = new SwiftTagDefinition("NumberIdentification_A1_13A", "Linked Message");
      MT568.U0086.TagName = ":13A::";
      MT568.U0087 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT568.U0086.Elements.Add((SwiftDefinitionElement) MT568.U0087);
      MT568.U0088 = new SwiftTagSubItemDefinition("NumberId", "Number Id");
      MT568.U0086.Elements.Add((SwiftDefinitionElement) MT568.U0088);
      MT568.U0084.Elements.Add((SwiftDefinitionElement) MT568.U0086);
      MT568.U0089 = new SwiftTagDefinition("NumberIdentification_A1_13B", "Linked Message");
      MT568.U0089.TagName = ":13B::";
      MT568.U008A = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT568.U0089.Elements.Add((SwiftDefinitionElement) MT568.U008A);
      MT568.U008B = new SwiftTagSubItemDefinition("DataSource", "Data Source Scheme");
      MT568.U0089.Elements.Add((SwiftDefinitionElement) MT568.U008B);
      MT568.U008C = new SwiftTagSubItemDefinition("Number_13B", "Number");
      MT568.U0089.Elements.Add((SwiftDefinitionElement) MT568.U008C);
      MT568.U0084.Elements.Add((SwiftDefinitionElement) MT568.U0089);
      MT568.U001E.Elements.Add((SwiftDefinitionElement) MT568.U0084);
      MT568.U008D = new SwiftTagDefinition("Reference_A1_20C", "Reference");
      MT568.U008D.TagName = ":20C::";
      MT568.U008E = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT568.U008D.Elements.Add((SwiftDefinitionElement) MT568.U008E);
      MT568.U008F = new SwiftTagSubItemDefinition("Reference", "Reference");
      MT568.U008D.Elements.Add((SwiftDefinitionElement) MT568.U008F);
      MT568.U001E.Elements.Add((SwiftDefinitionElement) MT568.U008D);
      MT568.U0090 = new SwiftTagDefinition("EndOfBlock_A1_16S", "End Of Block");
      MT568.U0090.TagName = ":16S:LINK";
      MT568.U0091 = new SwiftTagSubItemDefinition("EndOfBlock", "End Of Block");
      MT568.U0091.Mandatory = false;
      MT568.U0090.Elements.Add((SwiftDefinitionElement) MT568.U0091);
      MT568.U001E.Elements.Add((SwiftDefinitionElement) MT568.U0090);
      MT568.U0002.Elements.Add((SwiftDefinitionElement) MT568.U001E);
      MT568.U0092 = new SwiftTagDefinition("EndOfBlock_A_16S", "End Of Block");
      MT568.U0092.TagName = ":16S:GENL";
      MT568.U0093 = new SwiftTagSubItemDefinition("EndOfBlock", "End Of Block");
      MT568.U0093.Mandatory = false;
      MT568.U0092.Elements.Add((SwiftDefinitionElement) MT568.U0093);
      MT568.U0002.Elements.Add((SwiftDefinitionElement) MT568.U0092);
      MT568.MessageDefinition.Elements.Add((SwiftDefinitionElement) MT568.U0002);
      MT568.U0094 = new SwiftTagSequenceDefinition("SequenceB", "Underlying Securities");
      MT568.U0094.Mandatory = false;
      MT568.U0095 = new SwiftTagDefinition("StartOfBlock_B_16R", "Start Of Block");
      MT568.U0095.TagName = ":16R:USECU";
      MT568.U0096 = new SwiftTagSubItemDefinition("StartOfBlock", "Start of Block");
      MT568.U0096.Mandatory = false;
      MT568.U0095.Elements.Add((SwiftDefinitionElement) MT568.U0096);
      MT568.U0094.Elements.Add((SwiftDefinitionElement) MT568.U0095);
      MT568.U0097 = new SwiftTagChoiceDefinition("Choice", "");
      MT568.U0097.Mandatory = false;
      MT568.U0097.Multiple = true;
      MT568.U0098 = new SwiftTagDefinition("Party_B_95P", "Party");
      MT568.U0098.TagName = ":95P::";
      MT568.U0099 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT568.U0098.Elements.Add((SwiftDefinitionElement) MT568.U0099);
      MT568.U009A = new SwiftTagSubItemDefinition("BankIdentifierCode", "Bank Identifier Code");
      MT568.U0098.Elements.Add((SwiftDefinitionElement) MT568.U009A);
      MT568.U0097.Elements.Add((SwiftDefinitionElement) MT568.U0098);
      MT568.U009B = new SwiftTagDefinition("Party_B_95R", "Party");
      MT568.U009B.TagName = ":95R::";
      MT568.U009C = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT568.U009B.Elements.Add((SwiftDefinitionElement) MT568.U009C);
      MT568.U009D = new SwiftTagSubItemDefinition("DataSourceScheme", "Data Source Scheme");
      MT568.U009B.Elements.Add((SwiftDefinitionElement) MT568.U009D);
      MT568.U009E = new SwiftTagSubItemDefinition("ProprietaryCode", "Proprietary Code");
      MT568.U009B.Elements.Add((SwiftDefinitionElement) MT568.U009E);
      MT568.U0097.Elements.Add((SwiftDefinitionElement) MT568.U009B);
      MT568.U0094.Elements.Add((SwiftDefinitionElement) MT568.U0097);
      MT568.U009F = new SwiftTagChoiceDefinition("Choice", "");
      MT568.U009F.Multiple = true;
      MT568.U0001U0002 = new SwiftTagDefinition("Account_B_97A", "Safekeeping Account");
      MT568.U0001U0002.TagName = ":97A::";
      MT568.U0002U0002 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT568.U0001U0002.Elements.Add((SwiftDefinitionElement) MT568.U0002U0002);
      MT568.U0003U0002 = new SwiftTagSubItemDefinition("AccountNumber", "Account Number");
      MT568.U0001U0002.Elements.Add((SwiftDefinitionElement) MT568.U0003U0002);
      MT568.U009F.Elements.Add((SwiftDefinitionElement) MT568.U0001U0002);
      MT568.U0004U0002 = new SwiftTagDefinition("Account_B_97C", "Safe Keeping Account");
      MT568.U0004U0002.TagName = ":97C::";
      MT568.U0005U0002 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT568.U0004U0002.Elements.Add((SwiftDefinitionElement) MT568.U0005U0002);
      MT568.U0006U0002 = new SwiftTagSubItemDefinition("AccountCode", "Account Code");
      MT568.U0004U0002.Elements.Add((SwiftDefinitionElement) MT568.U0006U0002);
      MT568.U009F.Elements.Add((SwiftDefinitionElement) MT568.U0004U0002);
      MT568.U0094.Elements.Add((SwiftDefinitionElement) MT568.U009F);
      MT568.U0007U0002 = new SwiftTagChoiceDefinition("Choice", "");
      MT568.U0007U0002.Mandatory = false;
      MT568.U0007U0002.Multiple = true;
      MT568.U0008U0002 = new SwiftTagDefinition("Place_B_94B", "Place of Safekeeping");
      MT568.U0008U0002.TagName = ":94B::";
      MT568.U000EU0002 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT568.U0008U0002.Elements.Add((SwiftDefinitionElement) MT568.U000EU0002);
      MT568.U000FU0002 = new SwiftTagSubItemDefinition("DataSource", "Data Source Scheme");
      MT568.U0008U0002.Elements.Add((SwiftDefinitionElement) MT568.U000FU0002);
      MT568.U0010U0002 = new SwiftTagSubItemDefinition("PlaceCode", "Place Code");
      MT568.U0008U0002.Elements.Add((SwiftDefinitionElement) MT568.U0010U0002);
      MT568.U0011U0002 = new SwiftTagSubItemDefinition("Narrative", "Narrative");
      MT568.U0011U0002.Mandatory = false;
      MT568.U0012U0002 = new SwiftTagSubItemDefinition("Narrative_94B", "Narrative");
      MT568.U0011U0002.Elements.Add((SwiftDefinitionElement) MT568.U0012U0002);
      MT568.U0008U0002.Elements.Add((SwiftDefinitionElement) MT568.U0011U0002);
      MT568.U0007U0002.Elements.Add((SwiftDefinitionElement) MT568.U0008U0002);
      MT568.U0013U0002 = new SwiftTagDefinition("Place_C_94C", "Place of Safekeeping");
      MT568.U0013U0002.TagName = ":94C::";
      MT568.U0014U0002 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT568.U0013U0002.Elements.Add((SwiftDefinitionElement) MT568.U0014U0002);
      MT568.U0015U0002 = new SwiftTagSubItemDefinition("CountryCode", "Country Code");
      MT568.U0013U0002.Elements.Add((SwiftDefinitionElement) MT568.U0015U0002);
      MT568.U0007U0002.Elements.Add((SwiftDefinitionElement) MT568.U0013U0002);
      MT568.U0016U0002 = new SwiftTagDefinition("Place_B_94F", "Place of Safekeeping");
      MT568.U0016U0002.TagName = ":94F::";
      MT568.U0017U0002 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT568.U0016U0002.Elements.Add((SwiftDefinitionElement) MT568.U0017U0002);
      MT568.U0018U0002 = new SwiftTagSubItemDefinition("Place", "Place and Bank Identifier Code");
      MT568.U0019U0002 = new SwiftTagSubItemDefinition("Place_1", "Place");
      MT568.U0018U0002.Elements.Add((SwiftDefinitionElement) MT568.U0019U0002);
      MT568.U001AU0002 = new SwiftTagSubItemDefinition("BankIdentifierCode", "Bank Identifier Code");
      MT568.U0018U0002.Elements.Add((SwiftDefinitionElement) MT568.U001AU0002);
      MT568.U0016U0002.Elements.Add((SwiftDefinitionElement) MT568.U0018U0002);
      MT568.U0007U0002.Elements.Add((SwiftDefinitionElement) MT568.U0016U0002);
      MT568.U0094.Elements.Add((SwiftDefinitionElement) MT568.U0007U0002);
      MT568.U001BU0002 = new SwiftTagDefinition("IdentificationOfFinancialInstrument_B_35B", "Identification of the Financial Instrument");
      MT568.U001BU0002.TagName = ":35B:";
      MT568.U001BU0002.Mandatory = false;
      MT568.U001CU0002 = new SwiftTagSubItemDefinition("IdentificationOfSecurity", "Identification of Security");
      MT568.U001CU0002.Mandatory = false;
      MT568.U001DU0002 = new SwiftTagSubItemDefinition("IdentificationOfSecurity_1", "Identification of Security");
      MT568.U001CU0002.Elements.Add((SwiftDefinitionElement) MT568.U001DU0002);
      MT568.U001BU0002.Elements.Add((SwiftDefinitionElement) MT568.U001CU0002);
      MT568.U001EU0002 = new SwiftTagSubItemDefinition("DescriptionOfSecurity", "Description of Security");
      MT568.U001EU0002.Mandatory = false;
      MT568.U001BU0002.Elements.Add((SwiftDefinitionElement) MT568.U001EU0002);
      MT568.U0094.Elements.Add((SwiftDefinitionElement) MT568.U001BU0002);
      MT568.U001FU0002 = new SwiftTagSequenceDefinition("SequenceB1", "Financial Instrument Attributes");
      MT568.U001FU0002.Mandatory = false;
      MT568.U007FU0002 = new SwiftTagDefinition("StartOfBlock_B1_16R", "Start Of Block");
      MT568.U007FU0002.TagName = ":16R:FIA";
      MT568.U0080U0002 = new SwiftTagSubItemDefinition("StartOfBlock", "Start of Block");
      MT568.U0080U0002.Mandatory = false;
      MT568.U007FU0002.Elements.Add((SwiftDefinitionElement) MT568.U0080U0002);
      MT568.U001FU0002.Elements.Add((SwiftDefinitionElement) MT568.U007FU0002);
      MT568.U0081U0002 = new SwiftTagDefinition("Place_B1_94B", "Place of Safekeeping");
      MT568.U0081U0002.TagName = ":94B::";
      MT568.U0081U0002.Mandatory = false;
      MT568.U0082U0002 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT568.U0081U0002.Elements.Add((SwiftDefinitionElement) MT568.U0082U0002);
      MT568.U0083U0002 = new SwiftTagSubItemDefinition("DataSource", "Data Source Scheme");
      MT568.U0081U0002.Elements.Add((SwiftDefinitionElement) MT568.U0083U0002);
      MT568.U0084U0002 = new SwiftTagSubItemDefinition("Place", "Place Code");
      MT568.U0081U0002.Elements.Add((SwiftDefinitionElement) MT568.U0084U0002);
      MT568.U0086U0002 = new SwiftTagSubItemDefinition("Narrative", "Narrative");
      MT568.U0086U0002.Mandatory = false;
      MT568.U0087U0002 = new SwiftTagSubItemDefinition("Narrative_94B", "Narrative");
      MT568.U0086U0002.Elements.Add((SwiftDefinitionElement) MT568.U0087U0002);
      MT568.U0081U0002.Elements.Add((SwiftDefinitionElement) MT568.U0086U0002);
      MT568.U001FU0002.Elements.Add((SwiftDefinitionElement) MT568.U0081U0002);
      MT568.U0088U0002 = new SwiftTagDefinition("Indicator_B1_22F", "Corporate Action Event Indicator");
      MT568.U0088U0002.TagName = ":22F::";
      MT568.U0088U0002.Mandatory = false;
      MT568.U0089U0002 = new SwiftTagSubItemDefinition("Qualifier", "");
      MT568.U0088U0002.Elements.Add((SwiftDefinitionElement) MT568.U0089U0002);
      MT568.U008AU0002 = new SwiftTagSubItemDefinition("DataSource", "Data Source Scheme");
      MT568.U0088U0002.Elements.Add((SwiftDefinitionElement) MT568.U008AU0002);
      MT568.U008BU0002 = new SwiftTagSubItemDefinition("Indicator", "Indicator");
      MT568.U0088U0002.Elements.Add((SwiftDefinitionElement) MT568.U008BU0002);
      MT568.U001FU0002.Elements.Add((SwiftDefinitionElement) MT568.U0088U0002);
      MT568.U008CU0002 = new SwiftTagChoiceDefinition("Choice", "");
      MT568.U008CU0002.Mandatory = false;
      MT568.U008CU0002.Multiple = true;
      MT568.U008DU0002 = new SwiftTagDefinition("TypeOfFinancialInstrument_B1_12A", "Classification Type");
      MT568.U008DU0002.TagName = ":12A::";
      MT568.U008EU0002 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT568.U008DU0002.Elements.Add((SwiftDefinitionElement) MT568.U008EU0002);
      MT568.U008FU0002 = new SwiftTagSubItemDefinition("DataSource", "Data Source Scheme");
      MT568.U008DU0002.Elements.Add((SwiftDefinitionElement) MT568.U008FU0002);
      MT568.U0090U0002 = new SwiftTagSubItemDefinition("InstrumentCodeOrDescription", "Instrument Code or Description");
      MT568.U008DU0002.Elements.Add((SwiftDefinitionElement) MT568.U0090U0002);
      MT568.U008CU0002.Elements.Add((SwiftDefinitionElement) MT568.U008DU0002);
      MT568.U0091U0002 = new SwiftTagDefinition("TypeOfFinancialInstrument_B1_12C", "Classification Type");
      MT568.U0091U0002.TagName = ":12C::";
      MT568.U0092U0002 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT568.U0091U0002.Elements.Add((SwiftDefinitionElement) MT568.U0092U0002);
      MT568.U0093U0002 = new SwiftTagSubItemDefinition("CFICode", "CFI Code");
      MT568.U0091U0002.Elements.Add((SwiftDefinitionElement) MT568.U0093U0002);
      MT568.U008CU0002.Elements.Add((SwiftDefinitionElement) MT568.U0091U0002);
      MT568.U001FU0002.Elements.Add((SwiftDefinitionElement) MT568.U008CU0002);
      MT568.U0094U0002 = new SwiftTagDefinition("Currency_B1_11A", "Currency of Denomination");
      MT568.U0094U0002.TagName = ":11A::";
      MT568.U0094U0002.Mandatory = false;
      MT568.U0095U0002 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT568.U0094U0002.Elements.Add((SwiftDefinitionElement) MT568.U0095U0002);
      MT568.U0096U0002 = new SwiftTagSubItemDefinition("CurrencyCode", "Currency Code");
      MT568.U0094U0002.Elements.Add((SwiftDefinitionElement) MT568.U0096U0002);
      MT568.U001FU0002.Elements.Add((SwiftDefinitionElement) MT568.U0094U0002);
      MT568.U0097U0002 = new SwiftTagDefinition("Date_B1_98A", "Date");
      MT568.U0097U0002.TagName = ":98A::";
      MT568.U0097U0002.Mandatory = false;
      MT568.U0097U0002.Multiple = true;
      MT568.U0098U0002 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT568.U0097U0002.Elements.Add((SwiftDefinitionElement) MT568.U0098U0002);
      MT568.U0099U0002 = new SwiftTagSubItemDefinition("Date", "Date");
      MT568.U0097U0002.Elements.Add((SwiftDefinitionElement) MT568.U0099U0002);
      MT568.U001FU0002.Elements.Add((SwiftDefinitionElement) MT568.U0097U0002);
      MT568.U009AU0002 = new SwiftTagDefinition("Rate_B1_92A", " Rate");
      MT568.U009AU0002.TagName = ":92A::";
      MT568.U009AU0002.Mandatory = false;
      MT568.U009AU0002.Multiple = true;
      MT568.U009BU0002 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT568.U009AU0002.Elements.Add((SwiftDefinitionElement) MT568.U009BU0002);
      MT568.U009CU0002 = new SwiftTagSubItemDefinition("SignRate", "Sign Rate");
      MT568.U009AU0002.Elements.Add((SwiftDefinitionElement) MT568.U009CU0002);
      MT568.U001FU0002.Elements.Add((SwiftDefinitionElement) MT568.U009AU0002);
      MT568.U009DU0002 = new SwiftTagDefinition("QuantityOfFinancialInstrument_B1_36B", "Quantity of Financial Instrument");
      MT568.U009DU0002.TagName = ":36B::";
      MT568.U009DU0002.Mandatory = false;
      MT568.U009DU0002.Multiple = true;
      MT568.U009EU0002 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT568.U009DU0002.Elements.Add((SwiftDefinitionElement) MT568.U009EU0002);
      MT568.U009FU0002 = new SwiftTagSubItemDefinition("QuantityOfFinancialInstrument", "QuantityOfFinancialInstrument");
      MT568.U0001U0003 = new SwiftTagSubItemDefinition("QuantityTypeCode", "Quantity Type Code");
      MT568.U009FU0002.Elements.Add((SwiftDefinitionElement) MT568.U0001U0003);
      MT568.U0002U0003 = new SwiftTagSubItemDefinition("Quantity", "Quantity");
      MT568.U009FU0002.Elements.Add((SwiftDefinitionElement) MT568.U0002U0003);
      MT568.U009DU0002.Elements.Add((SwiftDefinitionElement) MT568.U009FU0002);
      MT568.U001FU0002.Elements.Add((SwiftDefinitionElement) MT568.U009DU0002);
      MT568.U0003U0003 = new SwiftTagDefinition("EndOfBlock_B1_16S", "End Of Block");
      MT568.U0003U0003.TagName = ":16S:FIA";
      MT568.U0004U0003 = new SwiftTagSubItemDefinition("EndOfBlock", "End Of Block");
      MT568.U0004U0003.Mandatory = false;
      MT568.U0003U0003.Elements.Add((SwiftDefinitionElement) MT568.U0004U0003);
      MT568.U001FU0002.Elements.Add((SwiftDefinitionElement) MT568.U0003U0003);
      MT568.U0094.Elements.Add((SwiftDefinitionElement) MT568.U001FU0002);
      MT568.U0005U0003 = new SwiftTagChoiceDefinition("Choice", "");
      MT568.U0005U0003.Mandatory = false;
      MT568.U0005U0003.Multiple = true;
      MT568.U0006U0003 = new SwiftTagDefinition("Balance_B_93B", "Balance");
      MT568.U0006U0003.TagName = ":93B::";
      MT568.U0006U0003.Multiple = true;
      MT568.U0007U0003 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT568.U0006U0003.Elements.Add((SwiftDefinitionElement) MT568.U0007U0003);
      MT568.U0008U0003 = new SwiftTagSubItemDefinition("DataSource", "Data Source Scheme");
      MT568.U0006U0003.Elements.Add((SwiftDefinitionElement) MT568.U0008U0003);
      MT568.U000EU0003 = new SwiftTagSubItemDefinition("QuantityTypeCode", "Quantity Type Code");
      MT568.U0006U0003.Elements.Add((SwiftDefinitionElement) MT568.U000EU0003);
      MT568.U000FU0003 = new SwiftTagSubItemDefinition("SignBalance", "Sign Balance");
      MT568.U0006U0003.Elements.Add((SwiftDefinitionElement) MT568.U000FU0003);
      MT568.U0005U0003.Elements.Add((SwiftDefinitionElement) MT568.U0006U0003);
      MT568.U0010U0003 = new SwiftTagDefinition("Balance_B_93C", "Balance");
      MT568.U0010U0003.TagName = ":93C::";
      MT568.U0010U0003.Multiple = true;
      MT568.U0011U0003 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT568.U0010U0003.Elements.Add((SwiftDefinitionElement) MT568.U0011U0003);
      MT568.U0012U0003 = new SwiftTagSubItemDefinition("Balance", "Quantity Type Code, Sign Balance");
      MT568.U0013U0003 = new SwiftTagSubItemDefinition("QuantityTypeCode", "Quantity Type Code");
      MT568.U0012U0003.Elements.Add((SwiftDefinitionElement) MT568.U0013U0003);
      MT568.U0014U0003 = new SwiftTagSubItemDefinition("BalanceTypeCode", "Balance Type Code");
      MT568.U0012U0003.Elements.Add((SwiftDefinitionElement) MT568.U0014U0003);
      MT568.U0015U0003 = new SwiftTagSubItemDefinition("SignBalance", "Sign Balance");
      MT568.U0012U0003.Elements.Add((SwiftDefinitionElement) MT568.U0015U0003);
      MT568.U0010U0003.Elements.Add((SwiftDefinitionElement) MT568.U0012U0003);
      MT568.U0005U0003.Elements.Add((SwiftDefinitionElement) MT568.U0010U0003);
      MT568.U0094.Elements.Add((SwiftDefinitionElement) MT568.U0005U0003);
      MT568.U0016U0003 = new SwiftTagDefinition("EndOfBlock_B_16S", "End Of Block");
      MT568.U0016U0003.TagName = ":16S:USECU";
      MT568.U0017U0003 = new SwiftTagSubItemDefinition("EndOfBlock", "End Of Block");
      MT568.U0017U0003.Mandatory = false;
      MT568.U0016U0003.Elements.Add((SwiftDefinitionElement) MT568.U0017U0003);
      MT568.U0094.Elements.Add((SwiftDefinitionElement) MT568.U0016U0003);
      MT568.MessageDefinition.Elements.Add((SwiftDefinitionElement) MT568.U0094);
      MT568.U0018U0003 = new SwiftTagSequenceDefinition("SequenceC", "Additional Information");
      MT568.U0019U0003 = new SwiftTagDefinition("StartOfBlock_A_16R", "Start Of Block");
      MT568.U0019U0003.TagName = ":16R:ADDINFO";
      MT568.U001AU0003 = new SwiftTagSubItemDefinition("StartOfBlock", "Start of Block");
      MT568.U001AU0003.Mandatory = false;
      MT568.U0019U0003.Elements.Add((SwiftDefinitionElement) MT568.U001AU0003);
      MT568.U0018U0003.Elements.Add((SwiftDefinitionElement) MT568.U0019U0003);
      MT568.U001BU0003 = new SwiftTagChoiceDefinition("Choice", "");
      MT568.U001BU0003.Multiple = true;
      MT568.U001CU0003 = new SwiftTagDefinition("Narrative_C_70E", "Narrative");
      MT568.U001CU0003.TagName = ":70E::";
      MT568.U001CU0003.Multiple = true;
      MT568.U001DU0003 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT568.U001CU0003.Elements.Add((SwiftDefinitionElement) MT568.U001DU0003);
      MT568.U001EU0003 = new SwiftTagSubItemDefinition("Narrative", "Narrative");
      MT568.U001CU0003.Elements.Add((SwiftDefinitionElement) MT568.U001EU0003);
      MT568.U001BU0003.Elements.Add((SwiftDefinitionElement) MT568.U001CU0003);
      MT568.U001FU0003 = new SwiftTagDefinition("Narrative_C_70F", "Narrative");
      MT568.U001FU0003.TagName = ":70F::";
      MT568.U001FU0003.Multiple = true;
      MT568.U007FU0003 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT568.U001FU0003.Elements.Add((SwiftDefinitionElement) MT568.U007FU0003);
      MT568.U0080U0003 = new SwiftTagSubItemDefinition("NarrativeData", "Narrative Data");
      MT568.U0081U0003 = new SwiftTagSubItemDefinition("Narrative", "Narrative");
      MT568.U0082U0003 = new SwiftTagSubItemDefinition("Narrative_1", "Narrative (SWIFT Z Characters)");
      MT568.U0082U0003.Mandatory = false;
      MT568.U0081U0003.Elements.Add((SwiftDefinitionElement) MT568.U0082U0003);
      MT568.U0080U0003.Elements.Add((SwiftDefinitionElement) MT568.U0081U0003);
      MT568.U001FU0003.Elements.Add((SwiftDefinitionElement) MT568.U0080U0003);
      MT568.U001BU0003.Elements.Add((SwiftDefinitionElement) MT568.U001FU0003);
      MT568.U0018U0003.Elements.Add((SwiftDefinitionElement) MT568.U001BU0003);
      MT568.U0083U0003 = new SwiftTagChoiceDefinition("Choice", "");
      MT568.U0083U0003.Mandatory = false;
      MT568.U0083U0003.Multiple = true;
      MT568.U0084U0003 = new SwiftTagDefinition("Party_C_95P", "Party");
      MT568.U0084U0003.TagName = ":95P::";
      MT568.U0084U0003.Mandatory = false;
      MT568.U0084U0003.Multiple = true;
      MT568.U0086U0003 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT568.U0084U0003.Elements.Add((SwiftDefinitionElement) MT568.U0086U0003);
      MT568.U0087U0003 = new SwiftTagSubItemDefinition("BankIdentifierCode", "Bank Identifier Code");
      MT568.U0084U0003.Elements.Add((SwiftDefinitionElement) MT568.U0087U0003);
      MT568.U0083U0003.Elements.Add((SwiftDefinitionElement) MT568.U0084U0003);
      MT568.U0088U0003 = new SwiftTagDefinition("Party_C_95R", "Party");
      MT568.U0088U0003.TagName = ":95R::";
      MT568.U0088U0003.Mandatory = false;
      MT568.U0088U0003.Multiple = true;
      MT568.U0089U0003 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT568.U0088U0003.Elements.Add((SwiftDefinitionElement) MT568.U0089U0003);
      MT568.U008AU0003 = new SwiftTagSubItemDefinition("DataSourceScheme", "Data Source Scheme");
      MT568.U0088U0003.Elements.Add((SwiftDefinitionElement) MT568.U008AU0003);
      MT568.U008BU0003 = new SwiftTagSubItemDefinition("ProprietaryCode", "Proprietary Code");
      MT568.U0088U0003.Elements.Add((SwiftDefinitionElement) MT568.U008BU0003);
      MT568.U0083U0003.Elements.Add((SwiftDefinitionElement) MT568.U0088U0003);
      MT568.U008CU0003 = new SwiftTagDefinition("Party_C_95Q", "Party");
      MT568.U008CU0003.TagName = ":95Q::";
      MT568.U008CU0003.Mandatory = false;
      MT568.U008CU0003.Multiple = true;
      MT568.U008DU0003 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT568.U008CU0003.Elements.Add((SwiftDefinitionElement) MT568.U008DU0003);
      MT568.U008EU0003 = new SwiftTagSubItemDefinition("NameAndAddress_95Q", "Name and Address");
      MT568.U008CU0003.Elements.Add((SwiftDefinitionElement) MT568.U008EU0003);
      MT568.U0083U0003.Elements.Add((SwiftDefinitionElement) MT568.U008CU0003);
      MT568.U0018U0003.Elements.Add((SwiftDefinitionElement) MT568.U0083U0003);
      MT568.U008FU0003 = new SwiftTagDefinition("EndOfBlock_C_16S", "End Of Block");
      MT568.U008FU0003.TagName = ":16S:ADDINFO";
      MT568.U0090U0003 = new SwiftTagSubItemDefinition("EndOfBlock", "End Of Block");
      MT568.U0090U0003.Mandatory = false;
      MT568.U008FU0003.Elements.Add((SwiftDefinitionElement) MT568.U0090U0003);
      MT568.U0018U0003.Elements.Add((SwiftDefinitionElement) MT568.U008FU0003);
      MT568.MessageDefinition.Elements.Add((SwiftDefinitionElement) MT568.U0018U0003);
    }

    public class SequenceAClass : SwiftTagSequence
    {
      internal override SwiftDefinitionElement Definition
      {
        get
        {
          return (SwiftDefinitionElement) MT568.U0002;
        }
      }

      [Description("Start Of Block")]
      public Tag16R StartOfBlock_A_16R
      {
        get
        {
          return new Tag16R((SwiftElement) this, 0, (SwiftDefinitionElement) MT568.U0003);
        }
      }

      [Description("Start Of Block")]
      public Tag16R Tag16R_StartOfBlock_A
      {
        get
        {
          return this.StartOfBlock_A_16R;
        }
      }

      [Description("Reference")]
      public Tag20C[] Reference_A_20C
      {
        get
        {
          int index = -1;
          List<Tag20C> list = new List<Tag20C>();
          int count;
          do
          {
            ++index;
            Tag20C tag20C = new Tag20C((SwiftElement) this, index, (SwiftDefinitionElement) MT568.U0005);
            count = this.ListTags((SwiftElement) tag20C).Count;
            if (count > 0)
              list.Add(tag20C);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Reference")]
      public Tag20C[] Tag20C_Reference_A
      {
        get
        {
          return this.Reference_A_20C;
        }
      }

      [Description("Function of the Message")]
      public Tag23G FunctionOfTheMessage_A_23G
      {
        get
        {
          return new Tag23G((SwiftElement) this, 0, (SwiftDefinitionElement) MT568.U0008);
        }
      }

      [Description("Function of the Message")]
      public Tag23G Tag23G_FunctionOfTheMessage_A
      {
        get
        {
          return this.FunctionOfTheMessage_A_23G;
        }
      }

      [Description("Corporate Action Event Indicator")]
      public Tag22F Indicator_A_22F
      {
        get
        {
          return new Tag22F((SwiftElement) this, 0, (SwiftDefinitionElement) MT568.U0011);
        }
      }

      [Description("Corporate Action Event Indicator")]
      public Tag22F Tag22F_Indicator_A
      {
        get
        {
          return this.Indicator_A_22F;
        }
      }

      [Description("Preparation Date")]
      public Tag98A Date_A_98A
      {
        get
        {
          return new Tag98A((SwiftElement) this, 0, (SwiftDefinitionElement) MT568.U0016);
        }
      }

      [Description("Preparation Date")]
      public Tag98A Tag98A_Date_A
      {
        get
        {
          return this.Date_A_98A;
        }
      }

      [Description("Preparation Date/Time")]
      public Tag98C DateTime_A_98C
      {
        get
        {
          return new Tag98C((SwiftElement) this, 0, (SwiftDefinitionElement) MT568.U0019);
        }
      }

      [Description("Preparation Date/Time")]
      public Tag98C Tag98C_DateTime_A
      {
        get
        {
          return this.DateTime_A_98C;
        }
      }

      [Description("Linkages")]
      public MT568.SequenceAClass.SequenceA1Class[] SequenceA1
      {
        get
        {
          int index = -1;
          List<MT568.SequenceAClass.SequenceA1Class> list = new List<MT568.SequenceAClass.SequenceA1Class>();
          int count;
          do
          {
            ++index;
            MT568.SequenceAClass.SequenceA1Class sequenceA1Class = new MT568.SequenceAClass.SequenceA1Class((SwiftElement) this, index, false);
            count = this.ListTags((SwiftElement) sequenceA1Class).Count;
            if (count > 0)
              list.Add(sequenceA1Class);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("End Of Block")]
      public Tag16S EndOfBlock_A_16S
      {
        get
        {
          return new Tag16S((SwiftElement) this, 0, (SwiftDefinitionElement) MT568.U0092);
        }
      }

      [Description("End Of Block")]
      public Tag16S Tag16S_EndOfBlock_A
      {
        get
        {
          return this.EndOfBlock_A_16S;
        }
      }

      internal SequenceAClass(SwiftElement parent, int index, bool createTags)
        : base(parent, index, createTags)
      {
      }

      public Tag20C AddReference_A_20C()
      {
        return new Tag20C((SwiftElement) this, this.Reference_A_20C.Length, (SwiftDefinitionElement) MT568.U0005)
        {
          Value = string.Empty
        };
      }

      public void RemoveReference_A_20C(Tag20C tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public MT568.SequenceAClass.SequenceA1Class AddSequenceA1()
      {
        return new MT568.SequenceAClass.SequenceA1Class((SwiftElement) this, this.SequenceA1.Length, true);
      }

      public void RemoveSequenceA1(MT568.SequenceAClass.SequenceA1Class sequence)
      {
        foreach (SwiftTag tag in this.ListTags((SwiftElement) sequence))
          this.RemoveTag(tag);
      }

      public class SequenceA1Class : SwiftTagSequence
      {
        internal override SwiftDefinitionElement Definition
        {
          get
          {
            return (SwiftDefinitionElement) MT568.U001E;
          }
        }

        [Description("Start Of Block")]
        public Tag16R StartOfBlock_A1_16R
        {
          get
          {
            return new Tag16R((SwiftElement) this, 0, (SwiftDefinitionElement) MT568.U001F);
          }
        }

        [Description("Start Of Block")]
        public Tag16R Tag16R_StartOfBlock_A1
        {
          get
          {
            return this.StartOfBlock_A1_16R;
          }
        }

        [Description("Linkage Type Indicator")]
        public Tag22F Indicator_A1_22F
        {
          get
          {
            return new Tag22F((SwiftElement) this, 0, (SwiftDefinitionElement) MT568.U0080);
          }
        }

        [Description("Linkage Type Indicator")]
        public Tag22F Tag22F_Indicator_A1
        {
          get
          {
            return this.Indicator_A1_22F;
          }
        }

        [Description("Linked Message")]
        public Tag13A NumberIdentification_A1_13A
        {
          get
          {
            return new Tag13A((SwiftElement) this, 0, (SwiftDefinitionElement) MT568.U0086);
          }
        }

        [Description("Linked Message")]
        public Tag13A Tag13A_NumberIdentification_A1
        {
          get
          {
            return this.NumberIdentification_A1_13A;
          }
        }

        [Description("Linked Message")]
        public Tag13B NumberIdentification_A1_13B
        {
          get
          {
            return new Tag13B((SwiftElement) this, 0, (SwiftDefinitionElement) MT568.U0089);
          }
        }

        [Description("Linked Message")]
        public Tag13B Tag13B_NumberIdentification_A1
        {
          get
          {
            return this.NumberIdentification_A1_13B;
          }
        }

        [Description("Reference")]
        public Tag20C Reference_A1_20C
        {
          get
          {
            return new Tag20C((SwiftElement) this, 0, (SwiftDefinitionElement) MT568.U008D);
          }
        }

        [Description("Reference")]
        public Tag20C Tag20C_Reference_A1
        {
          get
          {
            return this.Reference_A1_20C;
          }
        }

        [Description("End Of Block")]
        public Tag16S EndOfBlock_A1_16S
        {
          get
          {
            return new Tag16S((SwiftElement) this, 0, (SwiftDefinitionElement) MT568.U0090);
          }
        }

        [Description("End Of Block")]
        public Tag16S Tag16S_EndOfBlock_A1
        {
          get
          {
            return this.EndOfBlock_A1_16S;
          }
        }

        internal SequenceA1Class(SwiftElement parent, int index, bool createTags)
          : base(parent, index, createTags)
        {
        }
      }
    }

    public class SequenceBClass : SwiftTagSequence
    {
      internal override SwiftDefinitionElement Definition
      {
        get
        {
          return (SwiftDefinitionElement) MT568.U0094;
        }
      }

      [Description("Start Of Block")]
      public Tag16R StartOfBlock_B_16R
      {
        get
        {
          return new Tag16R((SwiftElement) this, 0, (SwiftDefinitionElement) MT568.U0095);
        }
      }

      [Description("Start Of Block")]
      public Tag16R Tag16R_StartOfBlock_B
      {
        get
        {
          return this.StartOfBlock_B_16R;
        }
      }

      [Description("Party")]
      public Tag95P Party_B_95P
      {
        get
        {
          return new Tag95P((SwiftElement) this, 0, (SwiftDefinitionElement) MT568.U0098);
        }
      }

      [Description("Party")]
      public Tag95P Tag95P_Party_B
      {
        get
        {
          return this.Party_B_95P;
        }
      }

      [Description("Party")]
      public Tag95R Party_B_95R
      {
        get
        {
          return new Tag95R((SwiftElement) this, 0, (SwiftDefinitionElement) MT568.U009B);
        }
      }

      [Description("Party")]
      public Tag95R Tag95R_Party_B
      {
        get
        {
          return this.Party_B_95R;
        }
      }

      [Description("Safekeeping Account")]
      public Tag97A Account_B_97A
      {
        get
        {
          return new Tag97A((SwiftElement) this, 0, (SwiftDefinitionElement) MT568.U0001U0002);
        }
      }

      [Description("Safekeeping Account")]
      public Tag97A Tag97A_Account_B
      {
        get
        {
          return this.Account_B_97A;
        }
      }

      [Description("Safe Keeping Account")]
      public Tag97C Account_B_97C
      {
        get
        {
          return new Tag97C((SwiftElement) this, 0, (SwiftDefinitionElement) MT568.U0004U0002);
        }
      }

      [Description("Safe Keeping Account")]
      public Tag97C Tag97C_Account_B
      {
        get
        {
          return this.Account_B_97C;
        }
      }

      [Description("Place of Safekeeping")]
      public Tag94B Place_B_94B
      {
        get
        {
          return new Tag94B((SwiftElement) this, 0, (SwiftDefinitionElement) MT568.U0008U0002);
        }
      }

      [Description("Place of Safekeeping")]
      public Tag94B Tag94B_Place_B
      {
        get
        {
          return this.Place_B_94B;
        }
      }

      [Description("Place of Safekeeping")]
      public Tag94C Place_C_94C
      {
        get
        {
          return new Tag94C((SwiftElement) this, 0, (SwiftDefinitionElement) MT568.U0013U0002);
        }
      }

      [Description("Place of Safekeeping")]
      public Tag94C Tag94C_Place_C
      {
        get
        {
          return this.Place_C_94C;
        }
      }

      [Description("Place of Safekeeping")]
      public Tag94F Place_B_94F
      {
        get
        {
          return new Tag94F((SwiftElement) this, 0, (SwiftDefinitionElement) MT568.U0016U0002);
        }
      }

      [Description("Place of Safekeeping")]
      public Tag94F Tag94F_Place_B
      {
        get
        {
          return this.Place_B_94F;
        }
      }

      [Description("Identification of the Financial Instrument")]
      public Tag35B IdentificationOfFinancialInstrument_B_35B
      {
        get
        {
          return new Tag35B((SwiftElement) this, 0, (SwiftDefinitionElement) MT568.U001BU0002);
        }
      }

      [Description("Identification of the Financial Instrument")]
      public Tag35B Tag35B_IdentificationOfFinancialInstrument_B
      {
        get
        {
          return this.IdentificationOfFinancialInstrument_B_35B;
        }
      }

      [Description("Financial Instrument Attributes")]
      public MT568.SequenceBClass.SequenceB1Class SequenceB1
      {
        get
        {
          MT568.SequenceBClass.SequenceB1Class sequenceB1Class = new MT568.SequenceBClass.SequenceB1Class((SwiftElement) this, 0, false);
          if (this.ListTags((SwiftElement) sequenceB1Class).Count > 0)
            return sequenceB1Class;
          else
            return (MT568.SequenceBClass.SequenceB1Class) null;
        }
      }

      [Description("Balance")]
      public Tag93B[] Balance_B_93B
      {
        get
        {
          int index = -1;
          List<Tag93B> list = new List<Tag93B>();
          int count;
          do
          {
            ++index;
            Tag93B tag93B = new Tag93B((SwiftElement) this, index, (SwiftDefinitionElement) MT568.U0006U0003);
            count = this.ListTags((SwiftElement) tag93B).Count;
            if (count > 0)
              list.Add(tag93B);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Balance")]
      public Tag93B[] Tag93B_Balance_B
      {
        get
        {
          return this.Balance_B_93B;
        }
      }

      [Description("Balance")]
      public Tag93C[] Balance_B_93C
      {
        get
        {
          int index = -1;
          List<Tag93C> list = new List<Tag93C>();
          int count;
          do
          {
            ++index;
            Tag93C tag93C = new Tag93C((SwiftElement) this, index, (SwiftDefinitionElement) MT568.U0010U0003);
            count = this.ListTags((SwiftElement) tag93C).Count;
            if (count > 0)
              list.Add(tag93C);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Balance")]
      public Tag93C[] Tag93C_Balance_B
      {
        get
        {
          return this.Balance_B_93C;
        }
      }

      [Description("End Of Block")]
      public Tag16S EndOfBlock_B_16S
      {
        get
        {
          return new Tag16S((SwiftElement) this, 0, (SwiftDefinitionElement) MT568.U0016U0003);
        }
      }

      [Description("End Of Block")]
      public Tag16S Tag16S_EndOfBlock_B
      {
        get
        {
          return this.EndOfBlock_B_16S;
        }
      }

      internal SequenceBClass(SwiftElement parent, int index, bool createTags)
        : base(parent, index, createTags)
      {
      }

      public MT568.SequenceBClass.SequenceB1Class AddSequenceB1()
      {
        return this.SequenceB1 ?? new MT568.SequenceBClass.SequenceB1Class((SwiftElement) this, 0, true);
      }

      public void RemoveSequenceB1(MT568.SequenceBClass.SequenceB1Class sequence)
      {
        foreach (SwiftTag tag in this.ListTags((SwiftElement) sequence))
          this.RemoveTag(tag);
      }

      public Tag93B AddBalance_B_93B()
      {
        return new Tag93B((SwiftElement) this, this.Balance_B_93B.Length, (SwiftDefinitionElement) MT568.U0006U0003)
        {
          Value = string.Empty
        };
      }

      public void RemoveBalance_B_93B(Tag93B tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag93C AddBalance_B_93C()
      {
        return new Tag93C((SwiftElement) this, this.Balance_B_93C.Length, (SwiftDefinitionElement) MT568.U0010U0003)
        {
          Value = string.Empty
        };
      }

      public void RemoveBalance_B_93C(Tag93C tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public class SequenceB1Class : SwiftTagSequence
      {
        internal override SwiftDefinitionElement Definition
        {
          get
          {
            return (SwiftDefinitionElement) MT568.U001FU0002;
          }
        }

        [Description("Start Of Block")]
        public Tag16R StartOfBlock_B1_16R
        {
          get
          {
            return new Tag16R((SwiftElement) this, 0, (SwiftDefinitionElement) MT568.U007FU0002);
          }
        }

        [Description("Start Of Block")]
        public Tag16R Tag16R_StartOfBlock_B1
        {
          get
          {
            return this.StartOfBlock_B1_16R;
          }
        }

        [Description("Place of Safekeeping")]
        public MT568.SequenceBClass.SequenceB1Class.Tag94B Place_B1_94B
        {
          get
          {
            return new MT568.SequenceBClass.SequenceB1Class.Tag94B((SwiftElement) this, 0, (SwiftDefinitionElement) MT568.U0081U0002);
          }
        }

        [Description("Place of Safekeeping")]
        public MT568.SequenceBClass.SequenceB1Class.Tag94B Tag94B_Place_B1
        {
          get
          {
            return this.Place_B1_94B;
          }
        }

        [Description("Corporate Action Event Indicator")]
        public Tag22F Indicator_B1_22F
        {
          get
          {
            return new Tag22F((SwiftElement) this, 0, (SwiftDefinitionElement) MT568.U0088U0002);
          }
        }

        [Description("Corporate Action Event Indicator")]
        public Tag22F Tag22F_Indicator_B1
        {
          get
          {
            return this.Indicator_B1_22F;
          }
        }

        [Description("Classification Type")]
        public MT568.SequenceBClass.SequenceB1Class.Tag12A TypeOfFinancialInstrument_B1_12A
        {
          get
          {
            return new MT568.SequenceBClass.SequenceB1Class.Tag12A((SwiftElement) this, 0, (SwiftDefinitionElement) MT568.U008DU0002);
          }
        }

        [Description("Classification Type")]
        public MT568.SequenceBClass.SequenceB1Class.Tag12A Tag12A_TypeOfFinancialInstrument_B1
        {
          get
          {
            return this.TypeOfFinancialInstrument_B1_12A;
          }
        }

        [Description("Classification Type")]
        public Tag12C TypeOfFinancialInstrument_B1_12C
        {
          get
          {
            return new Tag12C((SwiftElement) this, 0, (SwiftDefinitionElement) MT568.U0091U0002);
          }
        }

        [Description("Classification Type")]
        public Tag12C Tag12C_TypeOfFinancialInstrument_B1
        {
          get
          {
            return this.TypeOfFinancialInstrument_B1_12C;
          }
        }

        [Description("Currency of Denomination")]
        public Tag11A Currency_B1_11A
        {
          get
          {
            return new Tag11A((SwiftElement) this, 0, (SwiftDefinitionElement) MT568.U0094U0002);
          }
        }

        [Description("Currency of Denomination")]
        public Tag11A Tag11A_Currency_B1
        {
          get
          {
            return this.Currency_B1_11A;
          }
        }

        [Description("Date")]
        public Tag98A[] Date_B1_98A
        {
          get
          {
            int index = -1;
            List<Tag98A> list = new List<Tag98A>();
            int count;
            do
            {
              ++index;
              Tag98A tag98A = new Tag98A((SwiftElement) this, index, (SwiftDefinitionElement) MT568.U0097U0002);
              count = this.ListTags((SwiftElement) tag98A).Count;
              if (count > 0)
                list.Add(tag98A);
            }
            while (count > 0);
            return list.ToArray();
          }
        }

        [Description("Date")]
        public Tag98A[] Tag98A_Date_B1
        {
          get
          {
            return this.Date_B1_98A;
          }
        }

        [Description(" Rate")]
        public Tag92A[] Rate_B1_92A
        {
          get
          {
            int index = -1;
            List<Tag92A> list = new List<Tag92A>();
            int count;
            do
            {
              ++index;
              Tag92A tag92A = new Tag92A((SwiftElement) this, index, (SwiftDefinitionElement) MT568.U009AU0002);
              count = this.ListTags((SwiftElement) tag92A).Count;
              if (count > 0)
                list.Add(tag92A);
            }
            while (count > 0);
            return list.ToArray();
          }
        }

        [Description(" Rate")]
        public Tag92A[] Tag92A_Rate_B1
        {
          get
          {
            return this.Rate_B1_92A;
          }
        }

        [Description("Quantity of Financial Instrument")]
        public Tag36B[] QuantityOfFinancialInstrument_B1_36B
        {
          get
          {
            int index = -1;
            List<Tag36B> list = new List<Tag36B>();
            int count;
            do
            {
              ++index;
              Tag36B tag36B = new Tag36B((SwiftElement) this, index, (SwiftDefinitionElement) MT568.U009DU0002);
              count = this.ListTags((SwiftElement) tag36B).Count;
              if (count > 0)
                list.Add(tag36B);
            }
            while (count > 0);
            return list.ToArray();
          }
        }

        [Description("Quantity of Financial Instrument")]
        public Tag36B[] Tag36B_QuantityOfFinancialInstrument_B1
        {
          get
          {
            return this.QuantityOfFinancialInstrument_B1_36B;
          }
        }

        [Description("End Of Block")]
        public Tag16S EndOfBlock_B1_16S
        {
          get
          {
            return new Tag16S((SwiftElement) this, 0, (SwiftDefinitionElement) MT568.U0003U0003);
          }
        }

        [Description("End Of Block")]
        public Tag16S Tag16S_EndOfBlock_B1
        {
          get
          {
            return this.EndOfBlock_B1_16S;
          }
        }

        internal SequenceB1Class(SwiftElement parent, int index, bool createTags)
          : base(parent, index, createTags)
        {
        }

        public Tag98A AddDate_B1_98A()
        {
          return new Tag98A((SwiftElement) this, this.Date_B1_98A.Length, (SwiftDefinitionElement) MT568.U0097U0002)
          {
            Value = string.Empty
          };
        }

        public void RemoveDate_B1_98A(Tag98A tag)
        {
          this.RemoveTag(tag.GetTag());
        }

        public Tag92A AddRate_B1_92A()
        {
          return new Tag92A((SwiftElement) this, this.Rate_B1_92A.Length, (SwiftDefinitionElement) MT568.U009AU0002)
          {
            Value = string.Empty
          };
        }

        public void RemoveRate_B1_92A(Tag92A tag)
        {
          this.RemoveTag(tag.GetTag());
        }

        public Tag36B AddQuantityOfFinancialInstrument_B1_36B()
        {
          return new Tag36B((SwiftElement) this, this.QuantityOfFinancialInstrument_B1_36B.Length, (SwiftDefinitionElement) MT568.U009DU0002)
          {
            Value = string.Empty
          };
        }

        public void RemoveQuantityOfFinancialInstrument_B1_36B(Tag36B tag)
        {
          this.RemoveTag(tag.GetTag());
        }

        public class Tag94B : SwiftTagWrapper
        {
          public string Value
          {
            get
            {
              return this.GetValue();
            }
            set
            {
              this.SetValue("94B", value);
            }
          }

          internal Tag94B(SwiftElement parent, int index, SwiftDefinitionElement definition)
            : base(parent, index, definition)
          {
          }
        }

        public class Tag12A : SwiftTagWrapper
        {
          public string Value
          {
            get
            {
              return this.GetValue();
            }
            set
            {
              this.SetValue("12A", value);
            }
          }

          internal Tag12A(SwiftElement parent, int index, SwiftDefinitionElement definition)
            : base(parent, index, definition)
          {
          }
        }
      }
    }

    public class SequenceCClass : SwiftTagSequence
    {
      internal override SwiftDefinitionElement Definition
      {
        get
        {
          return (SwiftDefinitionElement) MT568.U0018U0003;
        }
      }

      [Description("Start Of Block")]
      public Tag16R StartOfBlock_A_16R
      {
        get
        {
          return new Tag16R((SwiftElement) this, 0, (SwiftDefinitionElement) MT568.U0019U0003);
        }
      }

      [Description("Start Of Block")]
      public Tag16R Tag16R_StartOfBlock_A
      {
        get
        {
          return this.StartOfBlock_A_16R;
        }
      }

      [Description("Narrative")]
      public Tag70E[] Narrative_C_70E
      {
        get
        {
          int index = -1;
          List<Tag70E> list = new List<Tag70E>();
          int count;
          do
          {
            ++index;
            Tag70E tag70E = new Tag70E((SwiftElement) this, index, (SwiftDefinitionElement) MT568.U001CU0003);
            count = this.ListTags((SwiftElement) tag70E).Count;
            if (count > 0)
              list.Add(tag70E);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Narrative")]
      public Tag70E[] Tag70E_Narrative_C
      {
        get
        {
          return this.Narrative_C_70E;
        }
      }

      [Description("Narrative")]
      public Tag70F[] Narrative_C_70F
      {
        get
        {
          int index = -1;
          List<Tag70F> list = new List<Tag70F>();
          int count;
          do
          {
            ++index;
            Tag70F tag70F = new Tag70F((SwiftElement) this, index, (SwiftDefinitionElement) MT568.U001FU0003);
            count = this.ListTags((SwiftElement) tag70F).Count;
            if (count > 0)
              list.Add(tag70F);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Narrative")]
      public Tag70F[] Tag70F_Narrative_C
      {
        get
        {
          return this.Narrative_C_70F;
        }
      }

      [Description("Party")]
      public Tag95P[] Party_C_95P
      {
        get
        {
          int index = -1;
          List<Tag95P> list = new List<Tag95P>();
          int count;
          do
          {
            ++index;
            Tag95P tag95P = new Tag95P((SwiftElement) this, index, (SwiftDefinitionElement) MT568.U0084U0003);
            count = this.ListTags((SwiftElement) tag95P).Count;
            if (count > 0)
              list.Add(tag95P);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Party")]
      public Tag95P[] Tag95P_Party_C
      {
        get
        {
          return this.Party_C_95P;
        }
      }

      [Description("Party")]
      public Tag95R[] Party_C_95R
      {
        get
        {
          int index = -1;
          List<Tag95R> list = new List<Tag95R>();
          int count;
          do
          {
            ++index;
            Tag95R tag95R = new Tag95R((SwiftElement) this, index, (SwiftDefinitionElement) MT568.U0088U0003);
            count = this.ListTags((SwiftElement) tag95R).Count;
            if (count > 0)
              list.Add(tag95R);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Party")]
      public Tag95R[] Tag95R_Party_C
      {
        get
        {
          return this.Party_C_95R;
        }
      }

      [Description("Party")]
      public Tag95Q[] Party_C_95Q
      {
        get
        {
          int index = -1;
          List<Tag95Q> list = new List<Tag95Q>();
          int count;
          do
          {
            ++index;
            Tag95Q tag95Q = new Tag95Q((SwiftElement) this, index, (SwiftDefinitionElement) MT568.U008CU0003);
            count = this.ListTags((SwiftElement) tag95Q).Count;
            if (count > 0)
              list.Add(tag95Q);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Party")]
      public Tag95Q[] Tag95Q_Party_C
      {
        get
        {
          return this.Party_C_95Q;
        }
      }

      [Description("End Of Block")]
      public Tag16S EndOfBlock_C_16S
      {
        get
        {
          return new Tag16S((SwiftElement) this, 0, (SwiftDefinitionElement) MT568.U008FU0003);
        }
      }

      [Description("End Of Block")]
      public Tag16S Tag16S_EndOfBlock_C
      {
        get
        {
          return this.EndOfBlock_C_16S;
        }
      }

      internal SequenceCClass(SwiftElement parent, int index, bool createTags)
        : base(parent, index, createTags)
      {
      }

      public Tag70E AddNarrative_C_70E()
      {
        return new Tag70E((SwiftElement) this, this.Narrative_C_70E.Length, (SwiftDefinitionElement) MT568.U001CU0003)
        {
          Value = string.Empty
        };
      }

      public void RemoveNarrative_C_70E(Tag70E tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag70F AddNarrative_C_70F()
      {
        return new Tag70F((SwiftElement) this, this.Narrative_C_70F.Length, (SwiftDefinitionElement) MT568.U001FU0003)
        {
          Value = string.Empty
        };
      }

      public void RemoveNarrative_C_70F(Tag70F tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag95P AddParty_C_95P()
      {
        return new Tag95P((SwiftElement) this, this.Party_C_95P.Length, (SwiftDefinitionElement) MT568.U0084U0003)
        {
          Value = string.Empty
        };
      }

      public void RemoveParty_C_95P(Tag95P tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag95R AddParty_C_95R()
      {
        return new Tag95R((SwiftElement) this, this.Party_C_95R.Length, (SwiftDefinitionElement) MT568.U0088U0003)
        {
          Value = string.Empty
        };
      }

      public void RemoveParty_C_95R(Tag95R tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag95Q AddParty_C_95Q()
      {
        return new Tag95Q((SwiftElement) this, this.Party_C_95Q.Length, (SwiftDefinitionElement) MT568.U008CU0003)
        {
          Value = string.Empty
        };
      }

      public void RemoveParty_C_95Q(Tag95Q tag)
      {
        this.RemoveTag(tag.GetTag());
      }
    }
  }
}
